//package project.dao;
//
//import db.DbConn;
//import project.entity.Project;
//
//import java.sql.Connection;
//import java.sql.PreparedStatement;
//import java.sql.ResultSet;
//import java.sql.SQLException;
//import java.text.SimpleDateFormat;
//import java.util.ArrayList;
//import java.util.List;
//
//public class ProjectDao {
//
//    /**
//     * 项目成员查看项目列表功能，分页
//     * 查看所有已审核的project
//     * 模糊查询
//     * @return
//     */
//    public List<Project> memProjectList(String projectName, int page, int limit) {
//        List<Project> projectList = new ArrayList<>();
//        String sql = "SELECT * FROM t_project WHERE state=2";
//        if(projectName != null && (projectName.length()!=0)) {
//            sql += " AND projectName like '%" + projectName + "%'";
//        }
//        int start = (page-1)*limit;
//        int end = limit;
//        sql = sql + " limit " + start + "," + end;
//        System.out.println("构造的sql语句是："+sql);
//        SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
//        try {
//            Connection connection = DbConn.getconn("db_project");
//            PreparedStatement ps = connection.prepareStatement(sql);
//            ResultSet rs = ps.executeQuery();
//            while (rs.next()) {
//                Project project = new Project();
//                int id = rs.getInt("id");
//                String leader = rs.getString("leader");
//                String projectname = rs.getString("projectName");
//                String detail = rs.getString("detail");
//                int state = rs.getInt("state");
//                project.setId(id);
//                project.setLeader(leader);
//                project.setProjectName(projectname);
//                project.setCreateTime(ft.format(rs.getTimestamp("createTime")));
//                project.setDetail(detail);
//                project.setState(state);
//                projectList.add(project);
//            }
//        } catch (SQLException throwables) {
//            throwables.printStackTrace();
//        }
//        return projectList;
//    }
//
//    /**
//     * 查询已审核项目的数量
//     * @return
//     */
//    public int queryMemAllProjects() {
//        String sql = "SELECT count(*) as total FROM t_project WHERE state=2";
//        System.out.println("构造的sql语句是："+sql);
//        int totalCount = 0;
//        try {
//            Connection connection = DbConn.getconn("db_project");
//            PreparedStatement ps = connection.prepareStatement(sql);
//            ResultSet rs = ps.executeQuery();
//            while (rs.next()) {
//                totalCount = rs.getInt("total");
//            }
//        } catch (SQLException throwables) {
//            throwables.printStackTrace();
//        }
//        return totalCount;
//    }
//
//    /**
//     * 项目主管得到所有项目列表，分页
//     * @param projectName
//     * @param page
//     * @param limit
//     * @return
//     */
//    public List<Project> direProjectList(String projectName, int page, int limit) {
//        List<Project> projectList = new ArrayList<>();
//        String sql = "SELECT * FROM t_project";
//        if(projectName != null && (projectName.length()!=0)) {
//            sql += " WHERE projectName like '%" + projectName + "%'";
//        }
//        int start = (page-1)*limit;
//        int end = limit;
//        sql = sql + " limit " + start + "," + end;
//        System.out.println("构造的sql语句是："+sql);
//        SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
//        try {
//            Connection connection = DbConn.getconn("db_project");
//            PreparedStatement ps = connection.prepareStatement(sql);
//            ResultSet rs = ps.executeQuery();
//            while (rs.next()) {
//                Project project = new Project();
//                int id = rs.getInt("id");
//                String leader = rs.getString("leader");
//                String projectname = rs.getString("projectName");
//                String detail = rs.getString("detail");
//                int state = rs.getInt("state");
//                project.setId(id);
//                project.setLeader(leader);
//                project.setProjectName(projectname);
//                project.setCreateTime(ft.format(rs.getTimestamp(4)));
//                project.setDetail(detail);
//                project.setState(state);
//                projectList.add(project);
//            }
//        } catch (SQLException throwables) {
//            throwables.printStackTrace();
//        }
//        return projectList;
//    }
//
//    /**
//     * 查询所有项目的数量
//     * @return
//     */
//    public int queryDireAllProjects() {
//        String sql = "SELECT count(*) as total FROM t_project";
//        System.out.println("构造的sql语句是："+sql);
//        int totalCount = 0;
//        try {
//            Connection connection = DbConn.getconn("db_project");
//            PreparedStatement ps = connection.prepareStatement(sql);
//            ResultSet rs = ps.executeQuery();
//            while (rs.next()) {
//                totalCount = rs.getInt("total");
//            }
//        } catch (SQLException throwables) {
//            throwables.printStackTrace();
//        }
//        return totalCount;
//    }
//
//    /**
//     * 项目经理查看自己管理的项目列表，分页
//     * 多表查询
//     * 通过中间表t_project_user
//     * @param projectName
//     * @param page
//     * @param limit
//     * @return
//     */
//    public List<Project> magProjectList(String projectName, int page, int limit, int userId) {
//        List<Project> projectList = new ArrayList<>();
//        String sql = "SELECT t_project.* FROM t_project, t_user, t_project_user WHERE t_project.id=t_project_user.project_id AND t_user.id=t_project_user.user_id AND t_user.id="+userId;
//        if(projectName != null && (projectName.length()!=0)) {
//            sql += " AND projectName like '%" + projectName + "%'";
//        }
//        int start = (page-1)*limit;
//        int end = limit;
//        sql = sql + " limit " + start + "," + end;
//        System.out.println("构造的sql语句是："+sql);
//        SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
//        try {
//            Connection connection = DbConn.getconn("db_project");
//            PreparedStatement ps = connection.prepareStatement(sql);
//            ResultSet rs = ps.executeQuery();
//            while (rs.next()) {
//                Project project = new Project();
//                int id = rs.getInt("id");
//                String leader = rs.getString("leader");
//                String projectname = rs.getString("projectName");
//                String memberList = rs.getString(5);
//
//                String detail = rs.getString("detail");
//                int state = rs.getInt("state");
//                project.setId(id);
//                project.setLeader(leader);
//                project.setProjectName(projectname);
//                project.setCreateTime(ft.format(rs.getTimestamp("createTime")));
//
//                project.setDetail(detail);
//                project.setState(state);
//                projectList.add(project);
//            }
//        } catch (SQLException throwables) {
//            throwables.printStackTrace();
//        }
//        return projectList;
//    }
//
//    /**
//     * 查询经理管理的所有项目数量
//     * @param userId
//     * @return
//     */
//    public int queryMagAllProjects(int userId) {
//        String sql = "SELECT COUNT(*) as total FROM t_project, t_user, t_project_user WHERE t_project.id=t_project_user.project_id AND t_user.id=t_project_user.user_id AND t_user.id="+userId;
//        System.out.println("构造的sql语句是："+sql);
//        int totalCount = 0;
//        try {
//            Connection connection = DbConn.getconn("db_project");
//            PreparedStatement ps = connection.prepareStatement(sql);
//            ResultSet rs = ps.executeQuery();
//            while (rs.next()) {
//                totalCount = rs.getInt("total");
//            }
//        } catch (SQLException throwables) {
//            throwables.printStackTrace();
//        }
//        return totalCount;
//    }
//
//    /**
//     * 查询某个用户所参与的项目
//     * @param projectName
//     * @param page
//     * @param limit
//     * @return
//     */
//    public List<Project> queryUserProjectList(String projectName, int page, int limit) {
//        return null;
//    }
//
//
//    /**
//     * 查询某项目的成员列表
//     * @return
//     */
//    private List<String> queryMemberList() {
//        List<String> memberList = new ArrayList<>();
//
//        return memberList;
//    }
//
//    /**
//     * 通过项目id查询项目名称
//     * @param id
//     * @return
//     */
//    public String findProjectNameById(int id) {
//        String sql = "SELECT projectName FROM t_project WHERE id="+id;
//        System.out.println("构造的sql语句是："+sql);
//        String projectName = null;
//        try {
//            Connection connection = DbConn.getconn("db_project");
//            PreparedStatement ps = connection.prepareStatement(sql);
//            ResultSet rs = ps.executeQuery();
//            while (rs.next()) {
//                projectName = rs.getString("projectName");
//            }
//        } catch (SQLException throwables) {
//            throwables.printStackTrace();
//        }
//        return projectName;
//    }
//}
